Methods for improving on-time throughput in wireless networks

ABSTRACT

In a multiple Radio Access Technology (multi-RAT) heterogeneous wireless network, a user equipment (UE) is capable of communicating via multiple types technologies, such as both WiFi and Long Term Evolution (LTE) cellular. The evolved node B that the UE communicates with may be a small network, encompassing distances of 200 meters or less. A method communicating in such a network may involve using an on-time throughput scheduling algorithm that maximizes the throughput by handing off certain users and prioritizing communications based on specific criteria. These criteria may include prioritizing communications of users closest to a target threshold. The UE may communicate with the network to negotiate which radio access technology is to be used, a range of acceptable data rates.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority to U.S. ProvisionalPatent Application Ser. No. 61/721,436, filed Nov. 1, 2012, which isincorporated herein by reference in its entirety.

TECHNICAL FIELD

Embodiments pertain to electronics. Some embodiments pertain toelectronic communication devices.

BACKGROUND ART

Portable electronic communication devices, such as smartphones, tablets,mobile hotspots, laptop computers, and the like, may communicate withother devices through the use of various radio access technologies(RAT), such as cellular, 3GPP-LTE, WiFi, WiMAX, Bluetooth, and the like.As more and more electronic devices have the capability to operate onmore than one RAT, it is desirable to have such devices use the multipleRATs in such as way as to provide the best throughput and Quality ofService (QoS) for the user, while not overtaxing the networks.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, which are not necessarily drawn to scale, like numeralsmay describe similar components in different views. Like numerals havingdifferent letter suffixes may represent different instances of similarcomponents. Some embodiments are illustrated by way of example, and notlimitation, in the figures of the accompanying drawings in which:

FIG. 1 is an illustration of an exemplary WiFi Cellular small cell RATarchitecture;

FIG. 2 is a block diagram illustrating another embodiment of anexemplary WiFi Cellular small cell RAT architecture;

FIG. 3 is a graph illustrating the effect of an embodiment on on-timethroughput;

FIG. 4 is a graph illustrating the effect of another embodiment onon-time throughput;

FIG. 5 is a block diagram illustrating an exemplary machine that iscapable of performing an embodiment;

FIG. 6 is a flow chart illustrating the operation of an embodiment; and

FIG. 7 is a flow chart illustrating the operation of another embodiment.

DESCRIPTION OF THE EMBODIMENTS

The following description and the drawings sufficiently illustratespecific embodiments to enable those skilled in the art to practicethem. Other embodiments may incorporate structural, logical, electrical,process, and other changes. Examples merely typify possible variations.Individual components and functions are optional unless explicitlyrequired, and the sequence of operations may vary. Portions and featuresof some embodiments may be included in, or substituted for, those ofother embodiments. Embodiments set forth in the claims encompass allavailable equivalents of those claims.

In the following description, numerous specific details are set forth inorder to provide a thorough understanding of the invention. However, itwill be understood by those skilled in the art that the presentinvention may be practiced without these specific details. In otherinstances, well-known method, procedures, components, and circuits havenot been described in detail so as not to obscure the present invention.

Although embodiments of the invention are not limited in this regard,the terms “plurality” and “a plurality” as used herein may include, forexample, “multiple” or “two or more.” The terms “plurality” or “aplurality” may be used throughout the specification to describe two ormore components, devices, elements, units, parameters, and the like. Forexample, “a plurality of devices” may include two or more devices.

The 3rd Generation Partnership Project (3GPP) is a collaborationagreement established in December 1998 to bring together a number oftelecommunications standards bodies, known as “Organizational Partners,”that currently include the Association of Radio Industries and Business(ARIB), the China Communications Standards Association (CCSA), theEuropean Telecommunications Standards Institute (ETSI), the Alliance forTelecommunications Industry Solutions (ATIS), the TelecommunicationsTechnology Association (TTA), and the Telecommunication TechnologyCommittee (TTC). The establishment of 3GPP was formalized in December1998 by the signing of the “The 3rd Generation Partnership ProjectAgreement.”

3GPP provides globally applicable standards as Technical Specificationsand Technical Reports for a 3rd Generation Mobile System based onevolved GSM core networks and radio access technologies that theysupport (e.g., Universal Terrestrial Radio Access (UTRA) for bothFrequency Division Duplex (FDD) and Time Division Duplex (TDD) modes).3GPP also provides standards for maintenance and development of theGlobal System for Mobile communication (GSM) as Technical Specificationsand Technical Reports including evolved radio access technologies (e.g.,General Packet Radio Service (GPRS) and Enhanced Data rates for GSMEvolution (EDGE)). Technical Specifications for current standardsrelated to mobile telephony are generally available to the public fromthe 3GPP organization.

3GPP is currently studying the evolution of the 3G Mobile System andconsiders contributions (views and proposals) directed toward theevolution of the UTRA Network (UTRAN). A set of high-level requirementswas identified by 3GPP workshops including: reduced cost per bit;increased service provisioning (i.e., more services at lower cost withbetter quality); flexibility of use of existing and new frequency bands;simplified architecture with open interfaces; and reduced/reasonableterminal power consumption.

A study on the UTRA & UTRAN Long Term Evolution (UTRAN-LTE, also knownas 3GPP-LTE and Evolved UTRAN (E-UTRA)) was started in December 2004with the objective to develop a framework for the evolution of the 3GPPradio-access technology towards a high-data-rate, low-latency andpacket-optimized radio-access technology. The study consideredmodifications to the radio-interface physical layer (downlink (DL) anduplink (UL)) such as means to support flexible transmission bandwidth upto 20 MHz, introduction of new transmission schemes, and advancedmulti-antenna technologies. An evolution to LTE, termed LTE Advanced, isalso being developed to provide even further performance improvements.

3GPP-LTE is based on a radio-interface incorporating orthogonalfrequency division multiplex (OFDM) techniques. OFDM is a digitalmulti-carrier modulation format that uses a large number ofclosely-spaced orthogonal sub-carriers to carry respective user datachannels. Each sub-carrier is modulated with a conventional modulationscheme, such as quadrature amplitude modulation (QAM), at a (relatively)low symbol rate when compared to the radio frequency (RF) transmissionrate.

Quality of service (QoS) is an increasingly important metric whenevaluating the performance of a communication system. In general, QoS isused to provide guarantees on the ability of a network to providepredictable results. This may be achieved through the use of, forexample, prioritization of certain types of network traffic. In recentwork, “on-time” or timely throughput has been introduced as ameasurement to assess the efficiency of the system to maintain QoS fordelay sensitive traffic (e.g., real-time video and video conferencing).On-time throughput measures the percentage of time that a user cansuccessfully receive a target data rate within the delay requirements ofthe traffic. In traditional LTE networks, QoS is maintained by assigningcategories called QoS class of identifiers (QCI) to different types oftransmissions. For example, gaming may have a lower priority than videostreaming which may have a lower priority than voice calls. Using thecategories enables higher priority messages to be transmitted whileallowing lower priority messages to become delayed.

In the past, frameworks were developed to enhance on-time throughputperformance in Multiple Radio Access Technology (“Multi-RAT”)heterogeneous networks (“HetNets”) through assignment of users acrossmultiple radio links. For example, many of today's mobile devices areable to use both WiFi and LTE. The assignment of users among the radiolinks were based on maximizing the aggregate on-time throughput acrossusers serviced by a given Multi-RAT cell. HetNets may also refer to theuse of multiple types of access nodes in a wireless network. Forexample, a network may employ microcells, picocells, and/or femtocellsin order to offer wireless coverage in indoor or underground areas.

The frameworks that were developed also included methods by which eachUser Equipment (“UE”) could measure and report per radio link on-timethroughput to a multi-RAT aggregation function (see FIG. 1) in the basestation (BS) (e.g., such as a pico Node B (NB) or femto NB), which canthen use such measurements to determine the best assignment of usersacross WiFi & LTE. However, in the past, the RAT assignment decisionswere designed to work with proportional fair scheduling. In proportionalfair scheduling, the scheduling algorithm attempts to maximize the totalthroughput of the network while at the same time allowing all users atleast a minimal level of service. Proportional fair scheduling weighsthe current data rate inversely with the throughput already obtained bythe user. The metric is (current rate/past throughput) in a certain timewindow.

One problem with proportional fair scheduling is that no considerationis given to the fact that the MAC scheduler can also be designed foron-time throughput optimization and can be further combined withmulti-RAT assignment and/or scheduling decisions. Further, optimizationin proportional fair scheduling was carried out for a fixed targeton-time rate for each user. Because unlicensed frequency bands may haveuncoordinated interference, the ability of the system to guarantee agiven target on-time throughput for users can be negatively impacted.Therefore, a more graceful method to adapt the QoS guarantee is desired.

In one embodiment, scheduling and QoS adaptation are jointly consideredwith RAT assignment to improve the on-time throughput performance in aMulti-RAT HetNet. Scheduling algorithms that are designed specificallyfor on-time throughput optimization can significantly improve theon-time throughput performance. In one embodiment, an on-time throughputscheduling algorithm that is designed to maximize the number ofsuccessful transmissions with packets received before the deadline maybe used. The algorithm prioritizes users with unsent packets with theearliest deadline and gives the highest priority to the user requiringleast resources to transmit this type of packets. In another embodiment,a multi-RAT scheduler that dynamically combines the RAT selectiondecisions with per link scheduling to maximize the overall timelythroughput may be used.

A framework for adapting the QoS requirements for on-time throughput andadmission control policy to maintain a minimum level of Quality ofExperience (“QoE”) for users has also been developed. This frameworkallows a user to dynamically adjust his target timely throughputrequirements based on local QoE measurements and allows the system todegrade gracefully in the presence of uncoordinated interference on theun-licensed bands.

Embodiments address techniques to improve on-time throughput for delaysensitive traffic by judiciously scheduling and using multiple radiolinks per client in a multi-radio heterogeneous network. Given thatun-licensed bands may often suffer from uncoordinated interference, wealso develop a framework to gracefully adapt the QoS requirements foron-time throughput such that the minimum QoE at each user is stillmaintained. Some embodiments described in this disclosure may focus ondeployments with integrated WiFi-Cellular small cells.

FIG. 1 illustrates an exemplary WiFi Cellular small cell multi-RATarchitecture 100. Such a WiFi Cellular small cell multi-RAT architecturemay allow for tighter management across multiple radio links than otherarchitectures. However, the techniques discussed herein are applicableto other multi-RAT architectures, including macro-assisted small cells.Several alternative RATs may also be considered (e.g., 60 GHz, TVwhite-spaces, and the like.) Architecturally, this could be used withmulti-RAT Cloud-RAN architectures, where multi-radio RF signals are sentfrom a remote radio head (WiFi, LTE, or the like) to a centralized basestation over fibre links and the base-band scheduling and RAT assignmentoccurs at the centralized base station. Alternatively, the integratedLTE/WiFi or stand-alone WiFi small cells are connected to the macrocells via high-speed backhaul and the macro-cell makes the RATassignment or scheduling decisions (such architectures may be referredto as anchor or booster architecture).

With continued reference to FIG. 1, WiFi Cellular small cell multi-RATarchitecture 100 comprises a multi-mode user equipment (102) and anintegrated pico node B (NB) (104). It should be understood that pico NB104 may be suitably replaced with another type of small cell, such as amicro NB, or a femto NB. There may be a multi-RAT aggregation functionmodule 112 in UE 102. Multi-RAT aggregation function module 112 may bearranged to determine which data streams have priority, in a mannerdescribed below. An aggregation function module 152 may also be presentin NB 104, performing a similar function.

There are various couplings between UE 102 and pico/femto NB 104, as ina typical LTE connection. For example, there may be a network accessstratum (NAS) coupling between NB 104 and UE 102 that couples UE 102 toa mobility management entity (MME) 106. There may be a coupling viaradio resource control (RRC) layer between a data module 116 in the UEand a data module 156 in the NB. There may be a packet data convergenceprotocol (PDCP) layer coupling between a module 118 in UE 102 and module158 in NB 104. There may be a radio link control (RLC) layer couplingbetween a module 120 in UE 102 and module 160 in NB 104. There may be amedia access control (MAC) layer coupling between a module 122 in UE 102and module 162 in NB 104. There may be a physical (PHY) layer couplingbetween a module 124 in UE 102 and module 164 in NB 104. In addition,there may be an additional a media access control (MAC) layer couplingbetween a module 126 in UE 102 and module 166 in NB 104. There may be anadditional physical (PHY) layer coupling between a module 128 in UE 102and module 168 in NB 104.

Several goals may be present in attempting to solve the above-describedproblems:

1) An on-time throughput-scheduling algorithm that targets to maximizethe number of successful transmissions with packets received before thedeadline.

2) A framework to adapt target on-time throughput based user QoEassessments and intelligence in the network server to lower the flowquality to maintain minimum QoE for each user.

FIG. 2 is a block diagram illustrating an embodiment that accomplishesthe above goals. Elements similar to that of FIG. 1 have the same finaltwo digits (e.g., element 102 is approximately the equivalent to element202).

WiFi Cellular small cell multi-RAT architecture 200 comprises amulti-mode user equipment (202) and an integrated pico/femto node B (NB)(204). There may be a multi-RAT aggregation function module 212 in UE202. Multi-RAT aggregation function module 212 may be arranged todetermine which data streams have priority, in a manner described infurther detail below. An aggregation function module 252 may also bepresent in NB 204, performing a similar function.

Multi-RAT aggregation function modules 212 and 252 serve to coordinatebetween the WiFi and LTE RATs. For example, multi-RAT aggregationfunction 212 and 252 may assist with packet reordering or buffering asdata flows between the LTE and WiFi RATs. If only RAT assignment is usedin the systems, then the scheduler does not schedule data flows acrossmultiple radios. Each WiFi and LTE scheduler may act independently. Withmulti-RAT scheduling, packets may get scheduled on either the WiFi andLTE interface. The multi-RAT aggregation function would then take somepackets from the LTE stack and route them to the WiFi stack.

There are various couplings between UE 202 and pico/femto NB 204. Forexample, there may be a network access stratum (NAS) coupling between NB204 and UE 202 that couples UE 202 to a mobility management entity (MME)206. There may be a coupling via radio resource control (RRC) layerbetween a data module 216 in the UE and a data module 256 in the NB.There may be a packet data convergence protocol (PDCP) layer couplingbetween a module 218 in UE 202 and module 258 in NB 204. There may be aradio link control (RLC) layer coupling between a module 220 in UE 202and module 260 in NB 204. There may be a media access control (MAC)layer coupling between a module 222 in UE 202 and module 262 in NB 204.There may be a physical (PHY) layer coupling between a module 224 in UE202 and module 264 in NB 204. In addition, there may be an additional amedia access control (MAC) layer coupling between a module 226 in UE 202and module 266 in NB 204. There may be an additional physical (PHY)layer coupling between a module 228 in UE 202 and module 268 in NB 204.

Also present in FIG. 2 is a QoE estimation module 230 within UE 202. Thefunction of QoE estimation module 230 is to determine the QoE needed forthe UE to perform its functions. QoE estimation module 230 is alsoresponsible for translating the QoE requirements to an on-timethroughput target and adoptively modifying this relationship. The UEalso measures on-time throughput and negotiates with the eNB and Serverto adjust the QoE.

NB 204 may also contain a deep packet inspection module 280 and amulti-RAT scheduler 290, in addition to a radio resource controller 270and multi-RAT aggregation function 252. The functions of these moduleswill be discussed in further detail below.

The following section describes the key elements of an on-timethroughput scheduling method. The following algorithm is general and canbe applied at any base-station scheduler regardless of its multi-radiocapabilities and describes the key elements of on-time throughputscheduling of an embodiment of the invention.

It may be helpful first to define what is meant by the term on-timethroughput. Suppose the time is divided into time slots of size t andthe n^(th) time slot is the time duration between (n-1)t and nt. DefineT_(k)(nt) as the total data throughput of user k at the nth time slot.The average timely throughput of user k is then defined as theprobability that a target packet of size T₀ is successfully receivedwithin every time-slot of length t.

${\lambda_{k} = {\lim \; \inf_{N->\infty}\frac{\sum_{n = 1}^{N}{I( {n\; \tau} )}}{N}}},$

where I_(k)(nt) is an indicator function (a function that indicatesmembership of an element in a subset of another element) defined asfollows:

${I_{k}( {n\; \tau} )} = \{ \begin{matrix}{0,} & {{T_{k}( {n\; \tau} )} < T_{0}} \\{1,} & {{T_{k}( {n\; \tau} )} \geq T_{0}}\end{matrix} $

The on-time throughput is defined as the effective goodput (applicationlevel throughput) g_(k) of user k as the portion of time slots with thetarget data throughput T₀ received on-time:

g_(k)=λ_(k)T₀

From the above formulation, it can be seen that higher on-timethroughput can be achieved by increasing the number of user time slotswith data throughput that exceeds the target packet size, T₀. In otherwords, increasing the number of (n, k) pairs with T_(k)(nτ)≧T₀.

Based on this concept, we propose a timely throughput schedulingalgorithm, with reference to FIG. 6, that targets to increase the numberof users receiving data throughput exceeds T₀ within current time slot.When selecting the user to be scheduled, there are two metrics,instantaneous data rate and data throughput within current slot, thatshould be considered. Thus, these two metrics are obtained for each ofthe users being serviced by the eNB (602). The users who alreadyreceived more than T₀ bits (the target packet size) within current timeslot, are ignored for the remainder of this algorithm (604). This isbecause additional data bits over T₀ do not increase the average on-timethroughput. Thus, the scheduler only scans through the users who havereceived less than T₀ bits within current time slot and selects the userwho is most likely to achieve the target throughput T₀ using a minimumamount of resources (606). If a user can achieve T₀ using the leastamount of resources, there will be more time/spectrum resource availablefor other users and the chance that more users achieve T₀ within currenttime slot increases.

The amount of resources, B_(k), required to achieve T₀ for user k mayestimated via the following equation:

$B_{k} = \{ \begin{matrix}{\frac{T_{0} - {T_{k}(t)}}{R_{k}(t)},} & {{T_{k}(t)} < T_{0}} \\{0,} & {{T_{k}(t)} \geq T_{0}}\end{matrix} $

For (n-1)τ≦t<nτ, T_(k)(t) is defined as the accumulated throughput foruser k from time instant (n-1)τ and R_(k)(t) is the instantaneous datarate of user k at time instant t. The user with the minimum positiveB_(k) will be scheduled for transmission. The algorithm is then repeatedwith the remaining users (608). In this manner, the greatest number ofusers meeting the minimum throughput requirements can be obtained.

FIG. 3 shows the percentage of users with on-time throughput below g.

With the new on-time throughput scheduling, there are more users able toachieve higher on-time throughput.

In FIG. 3, the x-axis 302 is the target on-time throughput in millionsof bits per second. Y-axis 304 is the percentage of users that achieve acertain on-time throughput. Line 310 shows the percentage of users thatachieve a given throughput using the proportional fair scheduling. Line320 shows the percentage of users that achieve a given throughput usingthe on-time scheduling algorithm illustrated above.?

Thus, it can be seen that a higher percentage of users achieve a giventhroughput using the on-time scheduling algorithm than via proportionalfair scheduling. For example, approximately 60% of users achieve1,000,000 bits per second using proportional fair scheduling, whileapproximately 65% of users achieve that bit rate using the methodsdescribed above. However, this difference becomes much larger at higherthroughputs. Only 30% of users achieve 2,000,000 bits per second usingproportional fair scheduling, while approximately 57% of users achievethat bit rate using the methods described above. This difference becomeseven greater at higher data rates. For example, fewer than 5% of usersachieve at least 4,000,000 bits per second using proportional fairscheduling. In contrast, more than 40% of users achieve that data rateusing the on-time scheduling algorithm described above.

The on-time throughput-scheduling algorithm may be combined with RATselection and adaptive QoS control for even better on-time throughput.

For the discussion below, a hypothetical connection between a UE (suchas UE 202) and an eNB (such as eNB 204) will be discussed. The eNB maybe an integrated eNB that has both WiFi and LTE connectivity. In thealternative, the eNB may be separate from, yet electrically coupled to,a WiFi base station. In addition, the eNB may be a pico eNB or a femtoeNB or other type of small cell eNB. The eNB performs several tasks,including performing UE scheduling on both UE and LTE links. The eNBalso performs user admission control and user RAT assignment. The eNBmay also perform deep packet inspection to drop lower priority packets.

A UE in this hypothetical connection may be a multi-mode UE, meaningthat it is capable of sending and receiving both WiFi and LTE signals.The UE measures metrics including on-time throughput, instantaneousrate, feedback measurements and other metrics related to the performanceof a connection. The UE may also determine the minimum QoE requirementsof the UE. The UE may also be arranged to adapt target on-timethroughput based on QoE assessment. The UE may also negotiate with theserver to lower the traffic rate.

There are several messages that may be sent from the UE to the eNB toenhance performance. These messages may include: radio link performancemeasurements, a range of acceptable on-time throughput, the minimum QoErequirement, and the current operating on-time throughput data rate.

There are several other messages that could be sent from the UE to theeNB. These messages may include the UE association (which containsinformation about which eNB serves a particular UE), UE radio linkassignment, and the recommended operating on-time throughput data rate.

In one embodiment, the UE is responsible for assessing the targeton-time throughput that can best meet its QoE needs. The UE mayinitially set a range of target QoS requirements (i.e., the target ratefor on-time throughput with the maximum delay constraint). When the UEobserves that the on-time throughput has degraded, the UE may make anassessment of the associated QoE to see whether the QoE is stillsufficient. The UE may also indicate a lower target requirement to thebase station. The UE may also negotiate with the server for a differentdata rate for its traffic flow. It may also make such assessment basedon a trigger sent by the eNB.

The multi-RAT scheduler (e.g., multi-RAT aggregation function 252 ofFIG. 2) within the integrated LTE/WiFi pico eNBs (e.g., element 204 ofFIG. 2) is in charge of scheduling users for LTE and WiFi transmission.Based on the feedback information provided by the multi-mode UEs, theintegrated LTE/WiFi eNB can then perform user RAT assignment and useradmission control to support the maximum number users satisfying theirQoS requirement. If the eNB supports Deep Packet Inspection (DPI) (aform of packet filtering that examines the data portion of a packet asit passes an inspection point, to decide whether or not the packet maypass) it may autonomously drop lower priority packets of a flow tomaintain the lower target for on-time throughput. If the targetrequirement for timely throughput cannot still be met, the eNB mayconsider offloading (handing off) users to neighboring cells via aprocess described later.

Estimation of Link Performance Metric

For on-time throughput optimization, estimates of the on-time throughputof a user over each link can be used as the metric for user admissioncontrol and user radio assignment. The on-time throughput value dependson channel quality, loading and also the rate distribution of otherusers assigned to the same radio. An embodiment may contain thefollowing modifications to estimate the on-time throughput.

During the measurement period, users are scheduled on both the LTE andWiFi links using the on-time throughput scheduling algorithm describedabove. Note that LTE and WiFi radios may schedule users independently.The average on-time throughput during the measurement period may serveas the indicator of how likely a user can achieve the target rate overeach radio link.

During the measurement period, users on both LTE and WiFi links may bescheduled via algorithms that ensure each user is scheduled at leastonce on each link (e.g., round-robin scheduling). The average resourcesrequired for a user is measured in an attempt to achieve the targetrate. This number can then be used to compute how to allocate the userson both radios to achieve the highest on-time throughput, for user RATassignment and admission control.

Adaptive User-Based QoS control

A UE should know the set of acceptable operating on-time throughput datarates for its data. For example, when transmitting scalable video, thisset of acceptable data rates represents different video qualitysupported from the source, with higher data rates representing highervideo quality. Based on the radio link quality and loading, themulti-mode UE can select its operating on-time throughput data rates. Itis also possible that the integrated LTE/WiFi pico eNB recommends anoperating rate to the UE based on network-wide optimization. Thereafter,the LTE/WiFi pico eNB can determine if this operating rate would resultin adequate QoE for the user.

The goal of adjusting the operating on-time throughput rate is toguarantee that a maximal number of users can maintain the on-time targetrate required to meet their QoE. It is assumed that, if the UE acceptsthe lower target operating point, the UE will signal the content serverto lower the data rate of the flow. This can easily be done for contentsuch as video where the lower priority content (such as enhancementlayers) can be discarded without significant impact on the video QoE.Alternately, if the eNB supports DPI capability, the eNB can selectivelydiscard packets that have been marked as low priority, without requiringthe UE to coordinate with the Server. The former approach is preferredif the disruption due to interference is expected to last a longer time.

Joint Scheduling and RAT Selection for Enhanced On-Time Throughput

RAT selection techniques in a Multi-RAT HetNet may be reused for on-timethroughput optimization together with the scheduling algorithm detailedabove. Additionally, joint multi-RAT scheduling of LTE and WiFiresources may be possible with tightly coupled or integrated LTE/WiFiAPs. With the scheduling algorithm and new optimization target, reviseduser RAT assignment algorithms may be used to achieve betterperformance. Such joint assignments may operate on a longer time scalesor may be updated on a frame-by-frame basis.

Based on an on-time throughput estimation, the integrated eNB searchesfor the user partition that achieves the highest on-time throughput.Since the number of users competing for each link may be different, theaverage on-time throughput under the new user partition will alsochange. One or more additional iterations may be performed to check ifthe user partitioning changed with the new average on-time throughput.

Thereafter, based on the estimation of the amount of resources requiredfor achieving the rate target, the integrated eNB may search for thesets of users to be scheduled on both the LTE link and the WiFi linksuch that the greatest number of users can be served for the ratetarget.

FIG. 4 is a graph illustrating how joint usage of the LTE and WiFiradios in an embodiment can improve the on-time throughput even morethan merely using the algorithm on LTE radios alone. Similar to FIG. 3,x-axis 402 is the throughput and y-axis 404 is the percentage of usersthat meet a certain throughput. Line 430 is the performance of an LTEconnection alone (this is the same as line 320 from FIG. 3). Line 440 isthe performance of a WiFi connection alone. Line 450 is use of both LTEand WiFi, but with no coordination. Line 460 uses both LTE and WiFiconnections, with a joint assignment scheme. Line 470 shows the use ofboth LTE and WiFi connections, using a joint scheduling algorithm asdescribed above.

The discussion of FIG. 3 above detailed how line 320 was a drasticimprovement over the prior art. FIG. 4 shows a similar improvement usingthe tactics and algorithms set forth herein. Line 430 is the same asline 320 of FIG. 3. Line 440 shows the performance of an exemplary WiFilink. Line 440 shows a relatively steady performance until 3 millionsbits per second, when the percentage of users drops achieving that ratedrops below 90 percent. Line 450 shows the performance of a jointLTE/WiFi eNB, but with no coordination between the radio links. Theperformance of this joint connection is higher than either the LTEconnection alone or the WiFi connection alone. For example, greater than50% of the users are able to achieve 6 million bits per second. Incomparison, only about 20% of users of either LTE alone or WiFi aloneare able to achieve that throughput. By jointly assigning LTE and WiFiconnections via a dynamic RAT mapping scheme, greater than 70% of usersare able to achieve 6 million bits per second throughput. Thispercentage is even higher (approximately 80%) for a joint LTE/WiFiconnection using a dynamic RAT scheduling scheme, shown in line 470.Dyanamic RAT mapping occurs at a much slower time scale (and not packetby packet, as is done with dynamic RAT scheduling). Once the user isassigned to a RAT, then typically all packets will be sent on that RAT.This assignment can still be changed dynamically during as session. Theentity making this assignment may be the multi-RAT aggregation functionwithin the RRC. Whereas the scheduling decisions will be made by thescheduler which operates on MAC layer packets.

User Admission Control

Based on the estimation of required resource for achieving the targetrate, the set of users to be served can be selected so that all users inthe set achieve the target rate and the size of the set is maximized. Asa result, users that require fewer resources in order to achieve thetarget rate are selected first and users that require a large amount ofresources to achieve the target rate are more likely to be dropped oroffloaded to another eNB.

In order to support more users when the channel conditions are bad,adaptive user-based QoS control, as described above, may be considered.Overall, the number of users that can be supported by an eNB isdetermined by the user admission control strategy described above. Ifthe target on-time rates of users cannot be satisfied even after QoSadaptation, the eNB may select some users to handoff to other cells.Such assessment may be based on the following criteria:

1) Users that may be adequately served by alternate cells (coordinationbetween eNBs, such as via an X2 interface may be required) should behanded off;

2) Users that consume the maximal number of resources may be handed offfirst to another eNB; and

3) A minimal number of users, just enough to satisfy the QoSrequirements of maximal number of users, should be handed off

With reference to FIG. 7, an algorithm for accomplishing a handoff isillustrated. The users being serviced by an eNB are sorted according tothe resources they consume (702). Then the user with the highest numberof resources consumed is the first candidate for offloading (704). Ifthat user can be successfully offloaded to another eNB and the on-timethroughput requirements of the remaining users being serviced by the eNBare met, then the offloading stops (706). If the requirements are notmet, the algorithm continues with the next user in terms of highestresources consumed (708). Otherwise, the algorithm stops (710).

Examples, as described herein, may include, or may operate on, logic ora number of components, modules, or mechanisms. Modules are tangibleentities (e.g., hardware) capable of performing specified operations andmay be configured or arranged in a certain manner. In an example,circuits may be arranged (e.g., internally or with respect to externalentities such as other circuits) in a specified manner as a module. Inan example, the whole or part of one or more computer systems (e.g., astandalone, client or server computer system) or one or more hardwareprocessors may be configured by firmware or software (e.g.,instructions, an application portion, or an application) as a modulethat operates to perform specified operations. In an example, thesoftware may reside on a machine-readable medium. In an example, thesoftware, when executed by the underlying hardware of the module, causesthe hardware to perform the specified operations.

Accordingly, the term “module” is understood to encompass a tangibleentity, be that an entity that is physically constructed, specificallyconfigured (e.g., hardwired), or temporarily (e.g., transitorily)configured (e.g., programmed) to operate in a specified manner or toperform part or all of any operation described herein. Consideringexamples in which modules are temporarily configured, each of themodules need not be instantiated at any one moment in time. For example,where the modules comprise a general-purpose hardware processorconfigured using software, the general-purpose hardware processor may beconfigured as respective different modules at different times. Softwaremay accordingly configure a hardware processor, for example, toconstitute a particular module at one instance of time and to constitutea different module at a different instance of time.

FIG. 5 is a block diagram illustrating an example machine 500 upon whichany one or more of the techniques (e.g., methodologies) discussed hereinmay perform. In alternative embodiments, the machine 500 may operate asa standalone device or may be connected (e.g., networked) to othermachines. In a networked deployment, the machine 500 may operate in thecapacity of a server machine, a client machine, or both in server-clientnetwork environments. In an example, the machine 500 may act as a peermachine in peer-to-peer (P2P) (or other distributed) networkenvironment. The machine 500 may be a personal computer (PC), a tabletPC, a set-top box (STB), a Personal Digital Assistant (PDA), asmartphone, a web appliance, a network router, switch or bridge, adedicated navigation device, laptop computers, a television, or anymachine capable of executing instructions (sequential or otherwise) thatspecify actions to be taken by that machine. Further, while only asingle machine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein, such as cloud computing, software asa service (SaaS), other computer cluster configurations.

The machine (e.g., computer system) 500 may include a hardware processor502 (e.g., a central processing unit (CPU), a graphics processing unit(GPU), a hardware processor core, or any combination thereof), a mainmemory 504, and a static memory 506, some or all of which maycommunicate with each other via an interlink (e.g., bus) 508. Themachine 500 may further include a display device 510, an alphanumericinput device 512 (e.g., a keyboard), and a user interface (UI)navigation device 514 (e.g., a mouse or track pad). In an example, thedisplay device 510, input device 512 and UI navigation device 514 may bea touch screen display that accomplishes all three tasks. The machine500 may additionally include a mass storage device (e.g., drive unit)516, a signal generation device 518 (e.g., a speaker), a networkinterface device 520, and one or more sensors 521, such as a globalpositioning system (GPS) sensor, compass, accelerometer, or othersensor. The machine 500 may include an output controller 528, such as aserial (e.g., universal serial bus (USB), parallel, or other wired orwireless (e.g., infrared (IR)) connection to communicate or control oneor more peripheral devices (e.g., a printer, card reader, etc.).

The mass storage device 526 may include a machine-readable medium 522 onwhich is stored one or more sets of data structures or instructions 524(e.g., software) embodying or utilized by any one or more of thetechniques or functions described herein. The instructions 524 may alsoreside, completely or at least partially, within the main memory 504,within static memory 506, or within the hardware processor 502 duringexecution thereof by the machine 500. In an example, one or anycombination of the hardware processor 502, the main memory 504, thestatic memory 506, or the mass storage device 516 may constitutemachine-readable media.

While the machine-readable medium 522 is illustrated as a single medium,the term “machine-readable medium” may include a single medium ormultiple media (e.g., a centralized or distributed database, and/orassociated caches and servers) that is arranged to store the one or moreinstructions 524.

The term “machine-readable medium” may include any medium that iscapable of storing, encoding, or carrying instructions for execution bythe machine 500 and that cause the machine 500 to perform any one ormore of the techniques of the present disclosure, or that is capable ofstoring, encoding, or carrying data structures used by or associatedwith such instructions. Non-limiting machine-readable medium examplesmay include solid-state memories, and optical and magnetic media. In anexample, a massed machine-readable medium comprises a machine-readablemedium with a plurality of particles having resting mass. Specificexamples of massed machine-readable media may include: non-volatilememory, such as semiconductor memory devices (e.g., ElectricallyProgrammable Read-Only Memory (EPROM), Electrically ErasableProgrammable Read-Only Memory (EEPROM)) and flash memory devices;magnetic disks, such as internal hard disks and removable disks;magneto-optical disks; and CD-ROM, DVD-ROM, and Blu-Ray disks.

The instructions 524 may further be transmitted or received over acommunications network 526 using a transmission medium via the networkinterface device 520 utilizing any one of a number of transfer protocols(e.g., frame relay, internet protocol (IP), transmission controlprotocol (TCP), user datagram protocol (UDP), hypertext transferprotocol (HTTP), etc.). Example communication networks may include alocal area network (LAN), a wide area network (WAN), a packet datanetwork (e.g., the Internet), mobile telephone networks (e.g., cellularnetworks), Plain Old Telephone (POTS) networks, and wireless datanetworks (e.g., Institute of Electrical and Electronics Engineers (IEEE)802.11 family of standards known as Wi-Fi®, IEEE 802.16 family ofstandards known as WiMAX®), peer-to-peer (P2P) networks, among others.In an example, the network interface device 520 may include one or morephysical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or moreantennas to connect to the communications network 526. In an example,the network interface device 520 may include a plurality of antennas towirelessly communicate using at least one of single-inputmultiple-output (SIMO), multiple-input multiple-output (MIMO), ormultiple-input single-output (MISO) techniques. The term “transmissionmedium” shall be taken to include any intangible medium that is capableof storing, encoding or carrying instructions for execution by themachine 500, and includes digital or analog communications signals orother intangible medium to facilitate communication of such software.

The following examples pertain to further embodiments.

Example 1 is a method for increasing on-time throughput in a wirelessnetwork comprising: obtaining information regarding on-time throughputof the wireless network; finding a subset of users who fail to meet atarget on-time data rate; determining which user of the subset of usersis closest to the target on-time data rate; and scheduling the user whois closest to the on-time target data rate for further datatransmissions.

In example 2, the subject matter of example 1 may optionally includewherein the information regarding throughput comprises instantaneousdata rate information for each user in the wireless network.

In example 3, the subject matter of example 1 may optionally includewherein the information regarding throughput comprises on-time datathroughput information for each user.

In example 4, the subject matter of example 1 may optionally includewherein determining which of the subset of users is closest to theon-time target data rate comprises: determining an amount indicating howshort of the target rate each user of the subset is; determining aninstantaneous data rate for each user; and dividing the amount by theinstantaneous data rate for each user to determine which user of thesubset of users is closest to the target data rate.

In example 5, the subject matter of example 1 may optionally includewherein the wireless network is a multiple radio access technologyheterogeneous network.

In example 6, the subject matter of example 5 may optionally includewherein the wireless network includes a WiFi network and a Long-TermEvolution (LTE) network.

In example 7, the subject matter of example 6 may optionally includewherein the LTE network and WiFi are supported on small cells that arepart of a larger 3GPP network.

In example 8, the subject matter of example 7 may optionally includewherein the small cell is chosen from a pico network, a femto network, amicro network, and a multi-radio WiFi/LTE small cell network.

In example 9, the subject matter of example 5 may optionally includewherein the method further comprises: selecting a radio accesstechnology with which the scheduled user is to send and receive itstransmissions, wherein the radio access technology is selected from WiFiand LTE.

Example 10 is an evolved Node B (eNB) comprising: processing means withmultiple functions including: a multiple radio access technologyscheduling means; multiple radio access technology aggregation functionmeans; wherein the multiple radio access technology scheduling means isarranged to: obtain information regarding on-time throughput of thewireless network; find a subset of users who fail to meet a targeton-time data rate; determine which of the subset of users is closest tothe target on-time data rate; and schedule the user who is closest tomeeting the target on-time data rate for transmission.

In example 11, the subject matter of example 10 may optionally includewherein the information regarding throughput comprises instantaneousdata rate information for each user.

In example 12, the subject matter of example 10 may optionally includewherein the information regarding throughput comprises on-time datathroughput information for each user.

In example 13, the subject matter of example 10 may optionally includewherein determining which of the subset of users is closest to theon-time target data rate comprises: determining an amount indicating howshort of the target on-time data rate each user of the subset is;determining an instantaneous data rate for each user; and dividing theamount by the instantaneous data rate for each user to determine whichuser of the subset of users is closest to the target on-time data rate.

In example 14, the subject matter of example 10 may optionally includewherein the multiple radio access technology scheduling means is furtherarranged to: change a user from a first radio access technology to asecond radio access technology; and further wherein the first radioaccess technology and second radio access technology are chosen fromWiFi and Long Term Evolution (LTE).

In example 15, the subject matter of example 10 may optionally includewherein the multiple radio access technology scheduling means is furtherarranged to: offload a user to another eNB.

In example 16, the subject matter of example 15 may optionally includewherein offloading a user to a second eNB comprises: compiling a list ofusers being serviced by the first eNB; determining an amount resourcesbeing used by each user being serviced by the eNB; sorting the resourcesused to determine a user with the highest amount of resources beingused; and offloading the user with the highest amount of resources beingused to the second eNB.

In example 17, the subject matter of example 10 may optionally includewherein the eNB is selected from the group comprising: macro eNB, picoeNB, femto eNB, and multi-radio WiFi/LTE small cells.

In example 18, the subject matter of example 10 may optionally furthercomprise a means for deep packet inspection, wherein the means for deeppacket inspection module is arranged to drop low-priority packets of adata flow.

Example 19 is a method for offloading users from a first evolved node B(eNB) to a second eNB comprising: compiling a list of users beingserviced by the first eNB; determining an amount resources being used byeach user being serviced by the eNB; sorting the resources used todetermine a user with the highest amount of resources being used; andoffloading the user with the highest amount of resources being used tothe second eNB.

In example 20, the subject matter of example 19 may optionally furthercomprise: determining if a goal for number of users achieving a targetdata rate is being met; and if the goal is not achieved, offloading theuser with the next highest amount of resources being used to the secondeNB.

Example 21 is a user equipment (UE) comprising: antenna assembly means;transceiver means coupled to the antenna assembly means arranged to sendand receive signals via the antenna assembly means; processing meanscoupled to the transceiver the processor being arranged to: transmitradio link performance measurement information to an evolved Node B(eNB); determine a range of acceptable operating on-time throughput datarates; determine a minimum QoE requirement; determine an on-timethroughput data rate to achieve the minimum QoE requirement; andtransmit the range of acceptable operating on-time throughput datarates, minimum QoE requirement, and the on-time throughput data rate.

In example 22, the subject matter of example 21 may optionally includewherein the UE is arranged to transmit information both via a long-termevolution (LTE) data connection and via a WiFi data connection.

In example 23, the subject matter of example 22 may optionally includewherein the processing means is further arranged to: receive anassociation message; receive a radio link assignment message; change toeither the LTE data connection or the WiFi data connection based on theradio link assignment message; and connect with a specific networkentity based on the association message.

In example 24, the subject matter of example 21 may optionally includewherein the processing means is further arranged to: receive arecommended on-time throughput data rate from a network entity; andchange the range of acceptable operating on-time throughput data ratesbased on the recommended on-time throughput data rate.

In example 25, the subject matter of example 21 may optionally includewherein the processing means is further arranged to: determine a currenton-time throughput data rate; and change the range of acceptableoperating on-time throughput data rates based on the current on-timethroughput data rate.

While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents may occur to those skilled in the art. It is, therefore, tobe understood that the appended claims are intended to cover all suchmodifications and changes as fall within the scope of the invention.

The above detailed description includes references to the accompanyingdrawings, which form a part of the detailed description. The drawingsshow, by way of illustration, specific embodiments that may bepracticed. These embodiments are also referred to herein as “examples.”Such examples may include elements in addition to those shown ordescribed. However, also contemplated are examples that include theelements shown or described. Moreover, also contemplate are examplesusing any combination or permutation of those elements shown ordescribed (or one or more aspects thereof), either with respect to aparticular example (or one or more aspects thereof), or with respect toother examples (or one or more aspects thereof) shown or describedherein.

Publications, patents, and patent documents referred to in this documentare incorporated by reference herein in their entirety, as thoughindividually incorporated by reference. In the event of inconsistentusages between this document and those documents so incorporated byreference, the usage in the incorporated reference(s) are supplementaryto that of this document; for irreconcilable inconsistencies, the usagein this document controls.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended, that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim are still deemed to fall within thescope of that claim. Moreover, in the following claims, the terms“first,” “second,” and “third,” etc. are used merely as labels, and arenot intended to suggest a numerical order for their objects.

The above description is intended to be illustrative, and notrestrictive. For example, the above-described examples (or one or moreaspects thereof) may be used in combination with others. Otherembodiments may be used, such as by one of ordinary skill in the artupon reviewing the above description. The Abstract is to allow thereader to quickly ascertain the nature of the technical disclosure, forexample, to comply with 37 C.F.R. §1.72(b) in the United States ofAmerica. It is submitted with the understanding that it will not be usedto interpret or limit the scope or meaning of the claims. Also, in theabove Detailed Description, various features may be grouped together tostreamline the disclosure. However, the claims may not set forth everyfeature disclosed herein as embodiments may feature a subset of saidfeatures. Further, embodiments may include fewer features than thosedisclosed in a particular example. Thus, the following claims are herebyincorporated into the Detailed Description, with a claim standing on itsown as a separate embodiment. The scope of the embodiments disclosedherein is to be determined with reference to the appended claims, alongwith the full scope of equivalents to which such claims are entitled.

1-25. (canceled)
 26. A method for increasing on-time throughput in awireless network comprising: obtaining information regarding on-timethroughput of the wireless network; finding a subset of users who failto meet a target on-time data rate; determining which user of the subsetof users is closest to the target on-time data rate; and scheduling theuser who is closest to the on-time target data rate for further datatransmissions.
 27. The method of claim 26 wherein the informationregarding throughput comprises instantaneous data rate information foreach user in the wireless network.
 28. The method of claim 26 whereinthe information regarding throughput comprises on-time data throughputinformation for each user.
 29. The method of claim 26 whereindetermining which of the subset of users is closest to the on-timetarget data rate comprises: determining an amount indicating how shortof the target rate each user of the subset is; determining aninstantaneous data rate for each user; and dividing the amount by theinstantaneous data rate for each user to determine which user of thesubset of users is closest to the target data rate.
 30. The method ofclaim 26 wherein the wireless network is a multiple radio accesstechnology heterogeneous network.
 31. The method of claim 30, whereinthe wireless network includes a WiFi network and a Long-Term Evolution(LTE) network.
 32. The method of claim 31 wherein the LTE network andWiFi is supported on small cells that are part of a larger 3GPP network.33. The method of claim 32 wherein the small cell is chosen from a piconetwork, a femto network, a micro network, and a multi-radio WiFi/LTEsmall cell network.
 34. The method of claim 30 wherein the methodfurther comprises: selecting a radio access technology with which thescheduled user is to send and receive its transmissions, wherein theradio access technology is selected from WiFi and LTE.
 35. An evolvedNode B (eNB) comprising: a processor with multiple functions including:a multiple radio access technology scheduler; a multiple radio accesstechnology aggregation function; wherein the multiple radio accesstechnology scheduler is arranged to: obtain information regardingon-time throughput of the wireless network; find a subset of users whofail to meet a target on-time data rate; determine which of the subsetof users is closest to the target on-time data rate; and schedule theuser who is closest to meeting the target on-time data rate fortransmission.
 36. The evolved node B of claim 35 wherein the informationregarding throughput comprises instantaneous data rate information foreach user.
 37. The evolved node B of claim 35 wherein the informationregarding throughput comprises on-time data throughput information foreach user.
 38. The evolved node B of claim 35 wherein determining whichof the subset of users is closest to the on-time target data ratecomprises: determining an amount indicating how short of the targeton-time data rate each user of the subset is; determining aninstantaneous data rate for each user; and dividing the amount by theinstantaneous data rate for each user to determine which user of thesubset of users is closest to the target on-time data rate.
 39. Theevolved node B of claim 35 wherein the multiple radio access technologyscheduler is further arranged to: change a user from a first radioaccess technology to a second radio access technology; and furtherwherein the first radio access technology and second radio accesstechnology are chosen from WiFi and Long Term Evolution (LTE).
 40. Theevolved node B of claim 35 wherein the multiple radio access technologyscheduler is further arranged to: offload a user to another eNB.
 41. Theevolved node B of claim 40 wherein offloading a user to a second eNBcomprises: compiling a list of users being serviced by the first eNB;determining an amount resources being used by each user being servicedby the eNB; sorting the resources used to determine a user with thehighest amount of resources being used; and offloading the user with thehighest amount of resources being used to the second eNB.
 42. The eNB ofclaim 35 wherein the eNB is selected from the group comprising: macroeNB, pico eNB, femto eNB, and multi-radio WiFi/LTE small cells.
 43. TheeNB of claim 35 further comprising: a deep packet inspection module,wherein the deep packet inspection module is arranged to droplow-priority packets of a data flow.
 44. A method for offloading usersfrom a first evolved node B (eNB) to a second eNB comprising: compilinga list of users being serviced by the first eNB; determining an amountresources being used by each user being serviced by the eNB; sorting theresources used to determine a user with the highest amount of resourcesbeing used; and offloading the user with the highest amount of resourcesbeing used to the second eNB.
 45. The method of claim 44 furthercomprising: determining if a goal for number of users achieving a targetdata rate is being met; and if the goal is not achieved, offloading theuser with the next highest amount of resources being used to the secondeNB.
 46. A user equipment (UE) comprising: an antenna assembly; atransceiver coupled to the antenna assembly arranged to send and receivesignals via the antenna assembly; a processor coupled to the transceiverthe processor being arranged to: transmit radio link performancemeasurement information to an evolved Node B (eNB); determine a range ofacceptable operating on-time throughput data rates; determine a minimumQoE requirement; determine an on-time throughput data rate to achievethe minimum QoE requirement; and transmit the range of acceptableoperating on-time throughput data rates, minimum QoE requirement, andthe on-time throughput data rate.
 47. The UE of claim 46 wherein the UEis arranged to transmit information both via a long-term evolution (LTE)data connection and via a WiFi data connection.
 48. The UE of claim 47wherein the processor is further arranged to: receive an associationmessage receive a radio link assignment message; change to either theLTE data connection or the WiFi data connection based on the radio linkassignment message; and connect with a specific network entity based onthe association message.
 49. The UE of claim 46 wherein the processor isfurther arranged to: receive a recommended on-time throughput data ratefrom a network entity; and change the range of acceptable operatingon-time throughput data rates based on the recommended on-timethroughput data rate.
 50. The UE of claim 46 wherein the processor isfurther arranged to: determine a current on-time throughput data rate;and change the range of acceptable operating on-time throughput datarates based on the current on-time throughput data rate.